import request from './request'
/**
 * 用二次封装好的axios，统一向服务器端的接口发送请求
 * 对象式
 * 
 * 请求分两大类
 * 
 * 1. get、delete： 
 *      axios.get(url[, config])
 *      axios.delete(url[, config])
 * 
 * 2. post、put、patch
 *      axios.post(url, data[,config])
 *      axios.put(url, data[,config])
 *      axios.patch(url, data[,config])
 */


/**
 * 作用：登录
 * @param {*} username 用户名
 * @param {*} pwd      密码
 * @returns Promise
 */
export const reqLogin = (username, pwd) => request.post('/admin/login', { username, pwd })

/**
 * 通过token获取用户信息
 * @returns Promise
 */
export const reqGetInfo = () => request.get('/admin/info')
/**
 * 获取用户分页列表数据
 * @param {*} page  当前页
 * @param {*} limit 每页显示几条
 * @returns Promise
 */
export const reqUserPageList = (page = 1, limit = 3) => request.get(`/admin/user/${page}/${limit}`)

/**
 * 退出登录
 * @returns 
 */
export const reqLogout = () => request.get('/admin/logout')

/**
 * 添加新用户
 * @param {*} formdata 【既有文本数据，也有文件数据】
 * @returns Promise对象
 */
export const reqCreateUser = (formdata) => request.post('/admin/user', formdata)

/**
 * 通过id获取用户信息
 * @param {*} id 
 * @returns Promise
 */
export const reqUserById = (id) => request.get('/admin/user', {
    params: {
        id
    }
})

/**
 * 更新用户数据
 * @param {*} formdata 用户文本数据及图片文件数据
 * @returns Promise
 */
export const reqUpdateUser = (formdata) => request.put('/admin/user', formdata)

/**
 * 根据id删除用户
 * @param {*} id 
 * @returns Promise
 */
export const reqDeleteUser = (id) => request.delete('/admin/user/' + id);
